#pragma once

#include <Windows.h>
#include <string>
#include <vector>
using std::wstring;
using std::vector;
#ifdef _DEBUG
#include <iostream>
using std::wcout;
using std::endl;
#endif

namespace SubPlayer
{
    class Timer
    {
    public:
        Timer();
        ~Timer();
        ULONGLONG GetElapsedMilliseconds();
        UINT_PTR AddTimer(ULONGLONG triggerMillisecond, TIMERPROC lpTimerFunc);
        void RemoveTimer(HWND hWnd, UINT_PTR timer);
        void Reset();
        void Clear();
    private:
        ULONGLONG begin;
        vector<UINT_PTR> activeTimers;
    };
}